﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace V82.ОбщиеМодули
{
	public partial class УправлениеСертификациейНоменклатуры
	{
		// Функция возвращает флаг использования подсистемы сертификации номенклатуры
		//

		public object ИспользоватьСертификациюНоменклатуры(/*Сообщать = Ложь*/)
		{
			//Флаг = Константы.ИспользоватьСерииНоменклатуры.Получить();
			if(true/*НЕ Флаг И Сообщать*/)
			{
				/*ОбщегоНазначения.Сообщение
				("Для использования подсистемы ""Сертификация"" необходимо включить использование серий номенклатуры.
				|Включить использование серий номенклатуры можно в форме ""Настройка параметров учета"" в разделе ""Учет товаров""", СтатусСообщения.ОченьВажное);*/
			}
			return null;
		}
		// ИспользоватьСертификациюНоменклатуры()
		// Процедура принимает табличную часть "Товары" или "Материалы" документа вида
		// "ПоступлениеТоваровУслуг" или "ТребованиеНакладная" соответственно
		//
		// Процедура проверяет серии номенклатуры на наличие сертификата и, в случае его отсутствия,
		// выводит сообщение. При отсутствии внутренней сертификации, инициируется отмена проведения документа.
		//

		public void ПроверитьНаСертификацию(/* МассивСерий, КонДата, Отказ, Заголовок*/)
		{
			if(true/*МассивСерий.Количество() = 0*/)
			{
			}
			if(true/*Не ИспользоватьСертификациюНоменклатуры()*/)
			{
			}
			/*ТекстЗапроса = 
		"ВЫБРАТЬ
		|	СпрСерииНоменклатуры.Ссылка КАК СерияНоменклатуры,
		|	ПРЕДСТАВЛЕНИЕ(СпрСерииНоменклатуры.Ссылка) КАК Серия,
		|	ПРЕДСТАВЛЕНИЕ(СпрСерииНоменклатуры.Владелец) КАК Номенклатура,
		|	СпрСерииНоменклатуры.Владелец.ТребуетсяВнешняяСертификация КАК ФлагВнешнСертификации,
		|	СпрСерииНоменклатуры.Владелец.ТребуетсяВнутренняяСертификация КАК ФлагВнутрСертификации,
		|	РегСертификация.СертификатВнешн,
		|	РегСертификация.ДатаНачалаВнешн,
		|	РегСертификация.ДатаОкончанияВнешн,
		|	РегСертификация.СертификатВнутр,
		|	РегСертификация.ДатаНачалаВнутр,
		|	РегСертификация.ДатаОкончанияВнутр,
		|	РегСертификация.ВидСертификата
		|ИЗ
		|	Справочник.СерииНоменклатуры КАК СпрСерииНоменклатуры
		|		ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
		|			СертификацияНоменклатуры.СерияНоменклатуры КАК СерияНоменклатуры,
		|			МАКСИМУМ(ВЫБОР
		|					КОГДА СертификацияНоменклатуры.ВидСертификата = &ВнешнСертификат
		|						ТОГДА СертификацияНоменклатуры.СостояниеСертификации
		|				КОНЕЦ) КАК СертификатВнешн,
		|			МАКСИМУМ(ВЫБОР
		|					КОГДА СертификацияНоменклатуры.ВидСертификата = &ВнешнСертификат
		|						ТОГДА СертификацияНоменклатуры.ДатаНачала
		|				КОНЕЦ) КАК ДатаНачалаВнешн,
		|			МАКСИМУМ(ВЫБОР
		|					КОГДА СертификацияНоменклатуры.ВидСертификата = &ВнешнСертификат
		|						ТОГДА СертификацияНоменклатуры.ДатаОкончания
		|				КОНЕЦ) КАК ДатаОкончанияВнешн,
		|			МАКСИМУМ(ВЫБОР
		|					КОГДА СертификацияНоменклатуры.ВидСертификата = &ВнутрСертификат
		|						ТОГДА СертификацияНоменклатуры.СостояниеСертификации
		|				КОНЕЦ) КАК СертификатВнутр,
		|			МАКСИМУМ(ВЫБОР
		|					КОГДА СертификацияНоменклатуры.ВидСертификата = &ВнутрСертификат
		|						ТОГДА СертификацияНоменклатуры.ДатаНачала
		|				КОНЕЦ) КАК ДатаНачалаВнутр,
		|			МАКСИМУМ(ВЫБОР
		|					КОГДА СертификацияНоменклатуры.ВидСертификата = &ВнутрСертификат
		|						ТОГДА СертификацияНоменклатуры.ДатаОкончания
		|				КОНЕЦ) КАК ДатаОкончанияВнутр,
		|			КОЛИЧЕСТВО(РАЗЛИЧНЫЕ СертификацияНоменклатуры.ВидСертификата) КАК ВидСертификата
		|		ИЗ
		|			РегистрСведений.СертификацияНоменклатуры КАК СертификацияНоменклатуры
		|		ГДЕ
		|			СертификацияНоменклатуры.СерияНоменклатуры В(&МассивСерий)
		|			И СертификацияНоменклатуры.СостояниеСертификации = &ЕстьСертификат
		|			И (СертификацияНоменклатуры.СерияНоменклатуры.Владелец.ТребуетсяВнешняяСертификация
		|						И СертификацияНоменклатуры.ВидСертификата = &ВнешнСертификат
		|						И (СертификацияНоменклатуры.ДатаНачала <= &КонДата
		|							ИЛИ СертификацияНоменклатуры.ДатаНачала = &ПустДата)
		|						И (СертификацияНоменклатуры.ДатаОкончания >= &КонДата
		|							ИЛИ СертификацияНоменклатуры.ДатаОкончания = &ПустДата)
		|					ИЛИ СертификацияНоменклатуры.СерияНоменклатуры.Владелец.ТребуетсяВнутренняяСертификация
		|						И СертификацияНоменклатуры.ВидСертификата = &ВнутрСертификат
		|						И (СертификацияНоменклатуры.ДатаНачала <= &КонДата
		|							ИЛИ СертификацияНоменклатуры.ДатаНачала = &ПустДата)
		|						И (СертификацияНоменклатуры.ДатаОкончания >= &КонДата
		|							ИЛИ СертификацияНоменклатуры.ДатаОкончания = &ПустДата))
		|		
		|		СГРУППИРОВАТЬ ПО
		|			СертификацияНоменклатуры.СерияНоменклатуры) КАК РегСертификация
		|		ПО СпрСерииНоменклатуры.Ссылка = РегСертификация.СерияНоменклатуры
		|ГДЕ
		|	СпрСерииНоменклатуры.Ссылка В(&МассивСерий)";*/
			//Запрос = Новый Запрос;
			//Запрос.Текст = ТекстЗапроса;
			//Запрос.УстановитьПараметр( "КонДата",         КонДата);
			//Запрос.УстановитьПараметр( "ПустДата",        '00010101000000');
			//Запрос.УстановитьПараметр( "МаксДата",        '39991231235959');
			//Запрос.УстановитьПараметр( "МассивСерий",     МассивСерий);
			//Запрос.УстановитьПараметр( "ЕстьСертификат",  Перечисления.СостоянияСертификацииНоменклатуры.Есть);
			//Запрос.УстановитьПараметр( "ВнешнСертификат", Перечисления.ВидыСертификацииНоменклатуры.ВнешняяСертификация);
			//Запрос.УстановитьПараметр( "ВнутрСертификат", Перечисления.ВидыСертификацииНоменклатуры.ВнутренняяСертификация);
			//РезультатЗапроса = Запрос.Выполнить();
			if(true/*Не РезультатЗапроса.Пустой()*/)
			{
				//Обход = РезультатЗапроса.Выбрать();
				while(true/*Обход.Следующий()*/)
				{
					/*// Проверка на Истина т.к. возможно значение NULL
*/
					if(true/*Обход.ФлагВнутрСертификации = Истина
			И Не Обход.СертификатВнутр = Перечисления.СостоянияСертификацииНоменклатуры.Есть*/)
					{
						//ОбщегоНазначения.СообщитьОбОшибке("Номенклатура """ + Обход.Номенклатура + """ серия: """ + Обход.Серия + """" + Символы.ПС + "    Нет внутренней сертификации", Отказ, Заголовок);
					}
					if(true/*Обход.ФлагВнешнСертификации = Истина
			И Не Обход.СертификатВнешн = Перечисления.СостоянияСертификацииНоменклатуры.Есть*/)
					{
						//ОбщегоНазначения.СообщитьОбОшибке("Номенклатура: """ + Обход.Номенклатура + """ серия: """ + Обход.Серия + """" + Символы.ПС + "    Нет внешней сертификации", Отказ, Заголовок);
					}
				}
				//;;
			}
		}
		// ПроверитьНаСертификацию()
		// Функция возвращает количество (в единицах хранения остатков) номенклатуры, поступившей по серии.
		//

		public object ПолучитьОбщееКоличествоПоступленияПоСериям(/*Серия*/)
		{
			//Колич = 0;
			/*ТекстЗапроса = "ВЫБРАТЬ
	               |	СУММА(ЗакупкаПроизводство.Количество) КАК Колич
	               |ИЗ
	               |	(ВЫБРАТЬ
	               |		ПоступлениеТоваровУслуг.Количество * ПоступлениеТоваровУслуг.Коэффициент / ПоступлениеТоваровУслуг.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент КАК Количество
	               |	ИЗ
	               |		Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслуг
	               |	ГДЕ
	               |		ПоступлениеТоваровУслуг.Ссылка.Проведен
	               |		И ПоступлениеТоваровУслуг.Ссылка.ОтражатьВУправленческомУчете
	               |		И ПоступлениеТоваровУслуг.Ссылка.ВидОперации = &ВидОперации
	               |		И ПоступлениеТоваровУслуг.СерияНоменклатуры = &Серия
	               |	
	               |	ОБЪЕДИНИТЬ
	               |	
	               |	ВЫБРАТЬ
	               |		ОтчетПроизводстваЗаСмену.Количество * ОтчетПроизводстваЗаСмену.Коэффициент / ОтчетПроизводстваЗаСмену.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент
	               |	ИЗ
	               |		Документ.ОтчетПроизводстваЗаСмену.Продукция КАК ОтчетПроизводстваЗаСмену
	               |	ГДЕ
	               |		ОтчетПроизводстваЗаСмену.Ссылка.Проведен
	               |		И ОтчетПроизводстваЗаСмену.Ссылка.ОтражатьВУправленческомУчете
	               |		И ОтчетПроизводстваЗаСмену.СерияНоменклатуры = &Серия
	               |	
	               |	ОБЪЕДИНИТЬ
	               |	
	               |	ВЫБРАТЬ
	               |		ВыпускПродукции.Количество * ВыпускПродукции.Коэффициент / ВыпускПродукции.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент
	               |	ИЗ
	               |		Документ.ВыпускПродукции.Продукция КАК ВыпускПродукции
	               |	ГДЕ
	               |		ВыпускПродукции.Ссылка.Проведен
	               |		И ВыпускПродукции.Ссылка.ОтражатьВУправленческомУчете
	               |		И ВыпускПродукции.СерияНоменклатуры = &Серия) КАК ЗакупкаПроизводство";*/
			//Запрос = Новый Запрос(ТекстЗапроса);
			//Запрос.УстановитьПараметр("Серия",Серия);
			//Запрос.УстановитьПараметр("ВидОперации", Перечисления.ВидыОперацийПоступлениеТоваровУслуг.ПокупкаКомиссия);
			//ТабЗапроса = Запрос.Выполнить().Выгрузить();
			if(true/*ТабЗапроса.Количество() > 0*/)
			{
				//Колич = ТабЗапроса.Итог("Колич");
			}
			return null;
		}
		// Функция возвращает поставщика указанной серии
		// Если поставок по серии не было, возвращается пустая строка.
		//

		public object ПолучитьПоставщикаСерии(/*Серия*/)
		{
			/*ТекстЗапроса = "ВЫБРАТЬ ПЕРВЫЕ 1
	               |	ПоступлениеТУ.Контрагент
	               |ИЗ
	               |	Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТУ
	               |ГДЕ
	               |	ПоступлениеТУ.Проведен
	               |	И ПоступлениеТУ.ОтражатьВУправленческомУчете
	               |	И ПоступлениеТУ.ВидОперации = &ВидОперации
	               |	И ПоступлениеТУ.Товары.СерияНоменклатуры = &Серия";*/
			//Запрос = Новый Запрос(ТекстЗапроса);
			//Запрос.УстановитьПараметр("Серия",       Серия);
			//Запрос.УстановитьПараметр("ВидОперации", Перечисления.ВидыОперацийПоступлениеТоваровУслуг.ПокупкаКомиссия);
			//РезультатЗапроса = Запрос.Выполнить();
			return null;
		}
		// Функция возвращает ссылку на нормативный документ по номенклатуре и серии
		// Серию можно не указывать
		//

		public object ПолучитьНормативныйДокумент(/*НоменклатураСсылка, СерияСсылка = 0*/)
		{
			/*//Запрос.Текст = 
*/
			/*//"ВЫБРАТЬ РАЗЛИЧНЫЕ
*/
			/*//|   4 КАК А,
*/
			/*//|	ДокументыСертификации.НормативныйДокумент
*/
			/*//|ИЗ
*/
			/*//|	РегистрСведений.НормативныеДокументыСертификацииНоменклатуры КАК ДокументыСертификации
*/
			/*//|
*/
			/*//|ГДЕ
*/
			/*//|	ДокументыСертификации.Номенклатура = &НоменклатураСсылка И
*/
			/*//|	ДокументыСертификации.СерияНоменклатуры = &СерияСсылка
*/
			/*//|
*/
			/*//|ОБЪЕДИНИТЬ
*/
			/*//|
*/
			/*//|ВЫБРАТЬ РАЗЛИЧНЫЕ
*/
			/*//|   3 КАК А,
*/
			/*//|	ДокументыСертификации.НормативныйДокумент
*/
			/*//|ИЗ
*/
			/*//|	РегистрСведений.НормативныеДокументыСертификацииНоменклатуры КАК ДокументыСертификации
*/
			/*//|
*/
			/*//|ГДЕ
*/
			/*//|	ДокументыСертификации.СерияНоменклатуры = &СерияСсылка И
*/
			/*//|	&СерияСсылка <> &СерияПустаяСсылка
*/
			/*//|
*/
			/*//|ОБЪЕДИНИТЬ
*/
			/*//|
*/
			/*//|ВЫБРАТЬ РАЗЛИЧНЫЕ
*/
			/*//|   2 КАК А,
*/
			/*//|	ДокументыСертификации.НормативныйДокумент
*/
			/*//|ИЗ
*/
			/*//|	РегистрСведений.НормативныеДокументыСертификацииНоменклатуры КАК ДокументыСертификации
*/
			/*//|
*/
			/*//|ГДЕ
*/
			/*//|	ДокументыСертификации.Номенклатура = &НоменклатураСсылка
*/
			/*//|
*/
			/*//|ОБЪЕДИНИТЬ
*/
			/*//|
*/
			/*//|ВЫБРАТЬ РАЗЛИЧНЫЕ
*/
			/*//|   1 КАК А,
*/
			/*//|	ДокументыСертификации.НормативныйДокумент
*/
			/*//|ИЗ
*/
			/*//|	РегистрСведений.НормативныеДокументыСертификацииНоменклатуры КАК ДокументыСертификации
*/
			/*//|
*/
			/*//|ГДЕ
*/
			/*//|	ДокументыСертификации.Номенклатура = &НоменклатураПустаяСсылка И
*/
			/*//|	ДокументыСертификации.СерияНоменклатуры = &СерияПустаяСсылка";
*/
			//Запрос = Новый Запрос;
			/*Запрос.Текст = 
		"ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1
		|	1 КАК Порядок,
		|	РегНормативныеДок.Номенклатура,
		|	РегНормативныеДок.СерияНоменклатуры,
		|	РегНормативныеДок.НормативныйДокумент
		|ИЗ
		|	РегистрСведений.НормативныеДокументыСертификацииНоменклатуры КАК РегНормативныеДок
		|ГДЕ
		|	РегНормативныеДок.СерияНоменклатуры = &Серия
		|	И РегНормативныеДок.СерияНоменклатуры <> &ПустСерия
		|
		|ОБЪЕДИНИТЬ
		|
		|ВЫБРАТЬ ПЕРВЫЕ 1
		|	2,
		|	РегНормативныеДок.Номенклатура,
		|	РегНормативныеДок.СерияНоменклатуры,
		|	РегНормативныеДок.НормативныйДокумент
		|ИЗ
		|	РегистрСведений.НормативныеДокументыСертификацииНоменклатуры КАК РегНормативныеДок
		|ГДЕ
		|	РегНормативныеДок.Номенклатура = &Номенклатура
		|	И РегНормативныеДок.Номенклатура <> &ПустНоменклатура
		|	И РегНормативныеДок.СерияНоменклатуры = &ПустСерия
		|
		|УПОРЯДОЧИТЬ ПО
		|	Порядок";*/
			//Запрос.УстановитьПараметр( "Номенклатура",     НоменклатураСсылка);
			//Запрос.УстановитьПараметр( "Серия",            СерияСсылка);
			//Запрос.УстановитьПараметр( "ПустСерия",        Справочники.СерииНоменклатуры.ПустаяСсылка());
			//Запрос.УстановитьПараметр( "ПустНоменклатура", Справочники.Номенклатура.ПустаяСсылка());
			//РезультатЗапроса = Запрос.Выполнить();
			return null;
		}
		// Функция возвращает строку, содержащую номер аттестата аккредитации
		// и период действия, - для вывода на печать
		//

		public object ПолучитьАттестатАккредитации(/*КонтрагентСсылка, Дата*/)
		{
			//Набор = РегистрыСведений.АккредитацияОргановСертификацииНоменклатуры.СоздатьНаборЗаписей();
			//Набор.Отбор.Контрагент.Значение = КонтрагентСсылка;
			//Набор.Отбор.Контрагент.Использование = истина;
			//Набор.Прочитать();
			/*//должен быть найден первый аттестат, который подходит и по дате начала, и по дате окончания
*/
			return null;
		}
		// Функция выдает список пар "серия-номенклатура" из табличной части документа,
		// отбираются только те пары, по которым имеет смысл формировать заявку на сертификацию.
		//
		// Функция возвращает истину, если пара выбрана, иначе - ложь
		//
		// ТабличнаяЧастьОснования - ссылка на табличную часть, содержащую реквизиты Номенклатура и СерияНоменклатуры
		// НужнаВнешняяСертификация - принимается признак учета пар, которым необходима внешняя сертификация,
		//		сюда возвращается признак необходимости внешней сертификации для выбранной пары
		// НужнаВнутренняяСертификация - принимается признак учета пар, которым необходима внутренняя сертификация,
		//		сюда возвращается признак необходимости внутренней сертификации для выбранной пары
		//

		public object ВыбратьСериюИзДокументаОснования(/*ТабличнаяЧастьОснования,НужнаВнешняяСертификация,НужнаВнутренняяСертификация, Номенклатура, СерияНоменклатуры, Цель*/)
		{
			//ТаблицаВыбора = Новый ТаблицаЗначений;
			//ТаблицаВыбора.Колонки.Добавить("Номенклатура");
			//ТаблицаВыбора.Колонки.Добавить("СерияНоменклатуры");
			//ТаблицаВыбора.Колонки.Добавить("Внутренняя");
			/*//истина - внутренняя, ложь - внешняя
*/
			if(true/*ТаблицаВыбора.Количество() = 0*/)
			{
				//Предупреждение("Документ-основание не содержит ТМЦ, подлежащих сертификации!");
			}
			//СписокВыбора = Новый СписокЗначений;
			//ВыбЭлем = СписокВыбора.ВыбратьЭлемент("Выберите серию для сертификации...");
			if(true/*ВыбЭлем = Неопределено*/)
			{
			}
			//ИндексЭлемента = СписокВыбора.Индекс(ВыбЭлем);
			//Номенклатура = ТаблицаВыбора[ИндексЭлемента].Номенклатура;
			//СерияНоменклатуры = ТаблицаВыбора[ИндексЭлемента].СерияНоменклатуры;
			//НужнаВнешняяСертификация = не ТаблицаВыбора[ИндексЭлемента].внутренняя;
			//НужнаВнутренняяСертификация = ТаблицаВыбора[ИндексЭлемента].внутренняя;
			return null;
		}
		// Функция проверяет состояние сертификации на текущий момент по серии.
		// Возвращает истину, если нет даже заявки на сертификацию
		//
		// Внутренняя - признак того, является ли сертификация внутренней. Если нет, то внешняя.
		// Цель - цель вызова - для определения, что вводится: заявка или сертификация

		public object НужнаСертификацияДляСерии(/*Номенклатура, СерияНоменклатуры, Внутренняя, Цель*/)
		{
			if(true/*НЕ ЗначениеЗаполнено(СерияНоменклатуры)*/)
			{
			}
			if(true/*Внутренняя и не Номенклатура.ТребуетсяВнутренняяСертификация*/)
			{
			}
			if(true/*не Внутренняя и не Номенклатура.ТребуетсяВнешняяСертификация*/)
			{
			}
			//Отбор = Новый Структура;
			//Отбор.Вставить( "СерияНоменклатуры", СерияНоменклатуры);
			if(true/*не Внутренняя*/)
			{
				//Отбор.Вставить( "ВидСертификата",   Перечисления.ВидыСертификацииНоменклатуры.ВнешняяСертификация);
				//ЗначениеРесурсов = РегистрыСведений.СертификацияНоменклатуры.ПолучитьПоследнее(,Отбор);
			}
			//ЗначениеСертификации = ЗначениеРесурсов.СостояниеСертификации;
			if(true/*Цель = "Заявка"*/)
			{
			}
			return null;
		}

		public object ПолучитьДатуЗавершенияПроизводстваСерии(/*СерияНоменклатуры*/)
		{
			//ДатаЗавершения = '00010101';
			/*Запрос = Новый Запрос("
	|ВЫБРАТЬ  ПЕРВЫЕ 1
	|	Дата
	|ИЗ
	|	Документ.ОтчетПроизводстваЗаСмену   ОтчетПроизводстваЗаСмену
	|ГДЕ
	|	Проведен И ОтражатьВУправленческомУчете И
	|	(ОтчетПроизводстваЗаСмену.Продукция.СерияНоменклатуры = &Серия)
	|УПОРЯДОЧИТЬ По 
	|	Дата убыв");*/
			//Запрос.УстановитьПараметр("Серия",СерияНоменклатуры);
			//ТабЗапроса = Запрос.Выполнить().Выгрузить();
			if(true/*ТабЗапроса.Количество() > 0*/)
			{
			}
			return null;
		}
		// ПолучитьДатуЗавершенияПроизводстваСерии()
		// Функция получает данные о сертификате серии
		//

		public object ПолучитьСведенияОСертификате(/*Серия, ВидСертификации, КонДата*/)
		{
			/*ТекстЗапроса = "
		|ВЫБРАТЬ РАЗРЕШЕННЫЕ
		|	СертификацияНоменклатуры.ДатаСертификата,
		|	СертификацияНоменклатуры.НомерСертификата,
		|	СертификацияНоменклатуры.ДатаНачала,
		|	СертификацияНоменклатуры.ДатаОкончания,
		|	ВЫБОР
		|		КОГДА СертификацияНоменклатуры.ДатаОкончания = &ПустДата
		|			ТОГДА &ДатаМакс
		|		ИНАЧЕ СертификацияНоменклатуры.ДатаОкончания
		|	КОНЕЦ КАК ДатаСортКон,
		|	ВЫБОР
		|		КОГДА СертификацияНоменклатуры.ДатаНачала = &ПустДата
		|			ТОГДА &ДатаМакс
		|		ИНАЧЕ СертификацияНоменклатуры.ДатаНачала
		|	КОНЕЦ КАК ДатаСортНач,
		|	СертификацияНоменклатуры.Регистратор КАК Регистратор,
		|	СертификацияНоменклатуры.Период КАК Период
		|ИЗ
		|	РегистрСведений.СертификацияНоменклатуры КАК СертификацияНоменклатуры
		|ГДЕ
		|	(СертификацияНоменклатуры.ДатаНачала <= &КонДата
		|			ИЛИ СертификацияНоменклатуры.ДатаНачала = &ПустДата)
		|	И (СертификацияНоменклатуры.ДатаОкончания >= &КонДата
		|			ИЛИ СертификацияНоменклатуры.ДатаОкончания = &ПустДата)
		|	И СертификацияНоменклатуры.СерияНоменклатуры = &Серия
		|	И СертификацияНоменклатуры.ВидСертификата = &ВидСертификата
		|	И СертификацияНоменклатуры.СостояниеСертификации = &Состояние
		|
		|УПОРЯДОЧИТЬ ПО
		|	ДатаСортКон УБЫВ,
		|	ДатаСортНач УБЫВ";*/
			//Запрос = Новый Запрос;
			//Запрос.Текст = ТекстЗапроса;
			//Запрос.УстановитьПараметр( "Серия",          Серия);
			//Запрос.УстановитьПараметр( "ВидСертификата", ВидСертификации);
			//Запрос.УстановитьПараметр( "КонДата",        НачалоДня(КонДата));
			//Запрос.УстановитьПараметр( "Состояние",      Перечисления.СостоянияСертификацииНоменклатуры.Есть);
			//Запрос.УстановитьПараметр( "ДатаМакс",       Дата("39991231235959"));
			//Запрос.УстановитьПараметр( "ПустДата",       Дата("00010101000000"));
			//РезультатЗапроса = Запрос.Выполнить();
			//Структ = Новый Структура;
			if(true/*РезультатЗапроса.Пустой()*/)
			{
				//Структ.Вставить( "ДатаСертификата",  '00010101');
				//Структ.Вставить( "НомерСертификата", "");
				//Структ.Вставить( "ДатаНачала",       '00010101');
				//Структ.Вставить( "ДатаОкончания",    '00010101');
				//Структ.Вставить( "Регистратор",      Неопределено);
				//Структ.Вставить( "Период",           '00010101');
			}
			return null;
		}
		// ПолучитьСведенияОСертификате()
	}
}
